home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / accs / cal_62a / cal62a.doc < prev    next >
Encoding:
Text File  |  1992-03-25  |  87.9 KB  |  1,861 lines

  1.                          Cal v6.2: The Calendar Program
  2.                         Copyright (c)1992 by Bill Aycock
  3.  
  4.  
  5. Ever forgotten your anniversary or your kid's birthday? Missed a TV show
  6. because you didn't remember what day it was on? Went to work an hour late (or
  7. even worse, early!) when you forgot to reset your clock for Daylight Savings
  8. Time? If this has happened to you, Cal may be able to help!
  9.  
  10. Cal is a calendar program with a difference - it lets you attach 'events' to
  11. any day of the year by date, according to a day's position in the month, or on
  12. a regular cycle. When Cal loads, it reads the current date from your system
  13. clock and checks to see if any significant events are scheduled for the day. If
  14. so, Cal displays an alert that shows you the day's events. (When Cal loads as
  15. an ACC, it dings the system bell if a significant event is scheduled.) Cal can
  16. also communicate with CodeHead's HotWire (v2.1 or newer) to set up the day's
  17. alarms automatically!
  18.  
  19. Also included in this ARC file is Calshow, a program that reports on the
  20. events you've stored in Cal and functions as an AUTO program, a full GEM-based
  21. program, or a desk ACC. As an AUTO program, CalShow will read the events from
  22. Cal and display upcoming events on screen, then pause so you can easily see
  23. what's on tap for the next couple weeks. This should give you plenty of time to
  24. plan for upcoming events!
  25.  
  26.  
  27. ====================================================
  28.  
  29.                     CONTENTS
  30.  
  31.  
  32.        0. New Stuff in This Version
  33.  
  34.        1. Installation
  35.          1.1. Installing from Scratch
  36.          1.2. Converting from Older Versions
  37.          1.3. DC-Squish Notes
  38.          1.4. Limits
  39.  
  40.        2. Cal
  41.  
  42.          2.1. Concepts
  43.            2.1.1. Event Types
  44.            2.1.2. Importance
  45.  
  46.          2.2. Startup Actions
  47.            2.2.1. Initialization and HotWire Alarms
  48.            2.2.2. Alert Dialog
  49.            2.2.3. Expired Event Dialog
  50.  
  51.          2.3. Main Calendar
  52.            2.3.1. Types of Days
  53.            2.3.2. Changing the Year or Month
  54.            2.3.3. Looking at a Specific Day
  55.            2.3.4. General Information
  56.            2.3.5. Other Buttons
  57.  
  58.          2.4. Extras Dialog
  59.            2.4.1. Days Between Two Dates
  60.            2.4.2. Date of Easter
  61.  
  62.          2.5. Preferences Dialog
  63.            2.5.1. Desk Menu Entry
  64.            2.5.2. When An Event Expires
  65.            2.5.3. Other Settings
  66.  
  67.          2.6. File Dialog
  68.            2.6.1. Cal File Types
  69.            2.6.2. Loading
  70.            2.6.3. Saving
  71.            2.6.4. Merging
  72.            2.6.5. Talking with Other Cals
  73.            2.6.6. Mass Erase Dialog
  74.            2.6.7. Setting HotWire Alarms
  75.            2.6.8. Checking Expired Events
  76.  
  77.          2.7. Scan Dialog
  78.            2.7.1. Concepts
  79.            2.7.2. How Scanning Works
  80.            2.7.3. Scan Display
  81.            2.7.4. Finding Events
  82.            2.7.5. Scan Options
  83.  
  84.          2.8. Find Dialog
  85.            2.8.1. Search String
  86.            2.8.2. Type, Status, Importance Filters
  87.  
  88.          2.9. Edit Dialog
  89.            2.9.1. Edit Mode
  90.            2.9.2. Fields on the Edit Screen
  91.            2.9.3. Looking at Events
  92.            2.9.4. The When Dialog
  93.            2.9.5. Changing Existing Events
  94.            2.9.6. Adding New Events
  95.            2.9.7. Erasing Events
  96.  
  97.        3. Calshow
  98.          3.1. Running from the AUTO Folder
  99.          3.2. Running as a PRG or ACC
  100.            3.2.1. Calshow Prefs
  101.            3.2.2. This Run Only
  102.  
  103.        4. Final Notes, Version History
  104.  
  105.        5. Keyboard Shortcuts
  106.          5.1. Main Calendar
  107.          5.2. Alert Dialog
  108.          5.3. Edit Dialog
  109.          5.4. Expired Event Dialog
  110.          5.5. Extras Dialog
  111.          5.6. File Dialog
  112.          5.7. Find Dialog
  113.          5.8. Mass Erase Dialog
  114.          5.9. Preferences Dialog
  115.          5.10. Scan Dialog
  116.          5.11. When Dialog
  117.          5.12. Calshow Dialog
  118.  
  119.  
  120. ====================================================
  121.  
  122.  
  123. 0. New Stuff in This Version
  124.  
  125.  
  126. New in Version 6.2:
  127.  
  128. A number of changes to both Cal and Calshow give you more information and
  129. should make the programs more useful as scheduling aids. Highlights:
  130.  
  131. Calshow:
  132.  
  133. >> The alarm time for each event is now listed on all displays. In addition,
  134. the events for each day are sorted by alarm time and importance, so a day's
  135. events are listed in the order in which they occur. Events that have an alarm
  136. time attached are shown preceding events with no alarm time. This means the
  137. alarm time field is useful even if you don't have HotWire!
  138.  
  139. >> The Calshow dialog now offers two new quick-view buttons, "Week" and
  140. "Today". These buttons let you instantly see all events scheduled on the
  141. current date, or on the current date plus the next week. Unlike Calshow's
  142. normal mode, the advance notice for your events is ignored so you get a full
  143. list of all upcoming events in the chosen time span.
  144.  
  145. >> Instead of exiting after Calshow completes a display, you now return to
  146. the Calshow dialog. This makes it easy to flip between the Today and Week
  147. quick-views, the normal Coming Events list, and displays of a specific time
  148. span.
  149.  
  150. >> The Help key now makes Calshow wait for any keypress before continuing,
  151. instead of merely resetting the wait time. If you have a full screen of
  152. events to look at, you won't need to keep hitting the Help key!
  153.  
  154. Cal:
  155.  
  156. >> The Cal dialog can now be moved around the screen. The dialog's relative
  157. position is saved whenever you save your Cal setup. If you wish, you can have
  158. Cal use this saved location whenever it runs. (This will be most useful for
  159. those with large-screen monitors.)
  160.  
  161. >> The beginning of each event in the Alert Dialog is now marked with a
  162. small symbol, making it easier to tell where one event ends and the next
  163. begins. The symbol is a triangle for a normal event, or a clock face for an
  164. event that has an alarm attached. If you click on a clock face, the alarm time
  165. for that event is displayed in the box at the top of the dialog.
  166.  
  167. >> The Scan Dialog now shows more information. The title bar shows you how
  168. many events are currently selected and the total number of events you've
  169. defined. The alarm time is displayed on the small schedule line above each
  170. event, and if the event is a one-time date event occurring in a single month,
  171. the day of the week is also displayed.
  172.  
  173. >> The Scan Dialog also includes a small bullet next to each event; if you
  174. click on the bullet, the event is 'hidden' (deselected). This allows you to
  175. select any arbitrary group of events. Once you have a group selected, some
  176. additional options are available by clicking the title bar - you may either
  177. erase all the selected events, or swap the 'selected' status of all events.
  178. This feature should make it easier to manage a large collection of events.
  179.  
  180. >> The Extras Dialog now offers another type of date calculation. In
  181. addition to finding the date of Easter or the number of days between two
  182. dates, you may add or subtract any number of days from a base date and find
  183. the resulting date.
  184.  
  185. >> The Edit Dialog shows you more information for any cyclic event. The small
  186. text field that shows how many days it will be to the next occurrence now
  187. also displays the date of the next occurrence.
  188.  
  189. >> There is also a new "Show When" button on the cyclic event edit screen.
  190. Clicking this button will bring up a new When Dialog that lists the date and
  191. day of the week of every occurrence of the event. If you click on a date, you
  192. will return to the calendar screen with that date's month displayed.
  193.  
  194.  
  195. ====================================================
  196.  
  197.  
  198. 1. Installation
  199.  
  200.  
  201. 1.1. Installing from Scratch
  202.  
  203. Installing Cal and CalShow is simple. Cal comes ready to go, pre-configured
  204. with over a hundred commonplace and obscure events. To use Cal, either install
  205. it as a desk accessory in the normal fashion, or just run it as a program. Cal
  206. uses well under 90K of memory, and runs on any ST or TT in any resolution.
  207.  
  208. Likewise, CalShow can run as a normal GEM program from the desktop or as a
  209. desk accessory. However, CalShow can also run from the AUTO folder, so you can
  210. be reminded of upcoming events every time you boot your system. To do so,
  211. create a folder named AUTO on your boot disk and copy CSHOW62.PRG into it. Like
  212. Cal, CalShow can run in any resolution on any ST or TT. It uses under 50K as an
  213. accessory.
  214.  
  215. NOTE: You can also place Cal in your AUTO folder if you want. It won't _do_
  216. much of anything when you boot up, but it won't crash your system! <grin>
  217.  
  218.  
  219. 1.2. Converting from Older Versions
  220.  
  221. In the past, upgrading to a new version of Cal meant either running your old
  222. version and saving your events in the new one, or running a separate conversion
  223. program (in the case of moving from 4.x to 5.x). It's even easier now!
  224.  
  225. Even though Cal's database format has changed again, Cal 6 lets you load
  226. events _directly_ from a version 5.x Cal file. Simply run Cal 6, click the File
  227. button, click the Load button, and use the item selector to find your old copy
  228. of Cal. Cal 6 will read in all your events and convert them to the new format
  229. automatically. In the process, HotWire alarm information is removed from your
  230. messages and stored in the new alarm settings fields, and the importance of
  231. each event is set to level 7 for significant events, level 4 for normal events,
  232. and level 1 for trivial events.
  233.  
  234. When you return to the File dialog, click Save to store your new events into
  235. the Cal 6 program file. Simple!
  236.  
  237.  
  238. 1.3. DC-Squish Notes
  239.  
  240. Cal and Calshow are compatible with DC-Squish 1.4, Double Click's program
  241. compressor. This little jewel basically lets you "arc" your programs and desk
  242. ACCs to save space on your disk. The program is automatically unArced when you
  243. run it (or load the ACC). Another advantage of DC-Squish is that since the
  244. program files are smaller, they generally load a bit quicker (especially from a
  245. floppy). DC-Squish is a part of the DC Utilities package available wherever you
  246. buy ST software.
  247.  
  248. To squish Cal and Calshow, simply follow the DC-Squish instructions. When you
  249. click the "Squish" button, you should see an alert that says "offset protocol
  250. recognized- use it?".
  251.  
  252.             IMPORTANT: YOU MUST ANSWER YES TO THIS QUESTION!!!
  253.  
  254. This makes DC-Squish compress the program part of Cal and Calshow, but leave
  255. the embedded data alone. If you answer No instead, you will not be able to save
  256. your events in Cal, and Calshow won't be able to read Cal's event data! (If
  257. your copy of DC-Squish doesn't support the 'offset protocol', DO NOT use it on
  258. Cal or Calshow- upgrade to the latest version of the DC Utilities!)
  259.  
  260.  
  261. 1.4. Limits
  262.  
  263. Cal 6 provides around 20K of space for the event database, and enough room to
  264. hold 511 events in its index. There are no limitations for any group of events
  265. (e.g., events on a single day, events to be scanned) other than those imposed
  266. by the size of the database and index.
  267.  
  268. If each of your events uses every character on all three lines available for
  269. the message, Cal will run out of room at around 166 events. If you define the
  270. maximum number of events, then each event can have a message 17 characters in
  271. length. In practice, most users will fall somewhere between these two limits.
  272.  
  273.  
  274. ====================================================
  275.  
  276.  
  277. 2. Cal
  278.  
  279.  
  280. 2.1. Concepts
  281.  
  282. Cal is, among other things, a universal calendar. You can use Cal to see the
  283. calendar of any month in any year from the year 1 to the year 9999. But more
  284. than that, Cal is designed to help you remember birthdays, anniversaries, TV
  285. shows, and more- any event that occurs on a particular day. It works equally
  286. well for weekly TV shows, monthly meetings, birthdays that only roll around
  287. once a year, or once-in-a-lifetime experiences. This section explains some
  288. basic concepts that will help you make the most of Cal and Calshow.
  289.  
  290.  
  291. 2.1.1. Event Types
  292.  
  293. The concept of an "event" is central to Cal. Webster defines an event as
  294. "that which comes, arrives, or happens, especially an incident of importance".
  295. In Cal, an event is any incident that occurs on one day. Cal recognizes four
  296. basic types of events: recurring date events, one-time date events, positional
  297. events, and cyclic events.
  298.  
  299. A "date event" is any event that occurs on a specific date in a month.
  300. Birthdays and anniversaries are date events; some holidays, such as New Years
  301. and Christmas, are date events. Bills that are due on the 15th of the month are
  302. date events.
  303.  
  304. The above examples are "recurring" date events, since they occur more than
  305. once. Birthdays and holidays happen every year, bills are due every month. The
  306. other type of date event is a "one-time" event. If you have a dentist
  307. appointment on September 21st, 1991, you can set it up as a one-time event. The
  308. difference between one-time and recurring date events is that recurring events
  309. happen over and over, while one-time events occur in one specific year; after
  310. the event has passed, it's no longer valid- it "expires".
  311.  
  312. The third type of event is the "positional event". You schedule a positional
  313. event by its position in the month. Examples: Thanksgiving Day is always the
  314. fourth Thursday in November; the last Sunday in October is the end of Daylight
  315. Savings Time. Ptaug, our local Atari users group, holds meetings on the last
  316. Wednesday of every month except July and December.
  317.  
  318. Cal 6 provides a fourth event type, the "cyclic event". Cyclic events are
  319. those which occur repeatedly over a fixed time span, every so many days. If you
  320. get paid every two weeks, add a cyclic event for every 14 days to remind you.
  321. If you need to mark your summer vacation so you won't schedule a meeting during
  322. that time, you can set up a cyclic event that occurs every day during that
  323. time. Cal allows cyclic events to occur every one to 255 days over a period
  324. of up to 100 years. Just tell Cal the date of a cyclic event's first
  325. occurrence, how often it occurs, and an ending date after which the event
  326. expires.
  327.  
  328.  
  329. 2.1.2. Importance
  330.  
  331. Another basic concept is that of an event's "importance". Starting with Cal
  332. 6.0, an event can have an importance level of zero to nine, with zero as the
  333. least important and nine as the most. The importance level affects the way Cal
  334. displays an event, and gives you another way to select groups of events as
  335. you'll see later.
  336.  
  337.  
  338.  
  339. 2.2. Startup Actions
  340.  
  341. Several important things happen when you start Cal. If you run Cal as a
  342. program, these actions occur all at once; if you load Cal as an accessory
  343. instead, some things happen when the accessory loads and others don't occur
  344. until you select the accessory from the Desk menu.
  345.  
  346.  
  347. 2.2.1. Initialization and HotWire Alarms
  348.  
  349. Cal starts out by checking if it's running from the AUTO folder. Any program
  350. that relies on GEM cannot run while your ST is just booting up. Most GEM
  351. programs don't check to see if they're running at boot time, and simply crash
  352. your system... Cal DOES check, and DOESN'T crash- it just displays a short
  353. message on your screen and gracefully quits.
  354.  
  355. Next, Cal reads your system clock to find out what day it is. Then it checks
  356. to see if any events are scheduled for the current day. If an event is
  357. scheduled, two things happen. First, Cal checks to see if CodeHead's HotWire is
  358. active. (HotWire is an enhanced desktop replacement- very powerful, easy to
  359. use... highly recommended!) If it is, Cal can set up to sixteen HotWire alarms
  360. for you, to keep you on track during the day! (Note: Cal is smart enough to
  361. skip setting alarms for times that have already passed. Also, Cal won't set
  362. alarms that already exist, so you don't need to worry about having a dozen
  363. copies of the same alarm go off at once. :-) HotWire must be at version 2.1 or
  364. above for this feature to be active.
  365.  
  366. Then, if Cal is loading as an accessory, it will ding the system bell to
  367. remind you that something is happening today.
  368.  
  369.  
  370. NOTE: Cal will set your alarms as soon as he initializes. Also, every time
  371. you go to the main calendar screen Cal will check to see if today's date has
  372. changed. If so, Cal will automatically set your alarms for the new day. You
  373. can also ask Cal to set the day's alarms at any time from the File dialog;
  374. more on that later.
  375.  
  376. ANOTHER NOTE: If you own CodeHead's MultiDesk Deluxe and you set up Cal as a
  377. non-resident accessory, you MUST include the "-I" parameter in your TITLES.MDX
  378. file if you want to set HotWire alarms when you boot! This parameter tells
  379. MultiDesk to let Cal perform its initialization - which includes setting the
  380. day's alarms - when you boot up your system. Cal will still work fine as a
  381. non-resident ACC without the -I parameter, but your alarms won't be set until
  382. you actually choose Cal from the MultiDesk menu. For further information, see
  383. Appendix A in the MultiDesk Deluxe user guide.
  384.  
  385.  
  386.  
  387. Next there's a break in the action. If Cal is running as an accessory,
  388. nothing else happens right now- the rest of the initialization waits until the
  389. first time you select Cal from the Desk menu. If you're running Cal as a
  390. program, there's no pause; it keeps right on truckin' along.
  391.  
  392.  
  393. 2.2.2. Alert Dialog
  394.  
  395. The next step of Cal's initialization is to let you know about any events
  396. scheduled for the day. If nothing is on tap, this step is skipped; otherwise,
  397. Cal brings up the Alert Dialog.
  398.  
  399. The title bar at the top of this dialog will normally read "Events of the
  400. Day". However, if Cal tried setting any HotWire alarms for you, the title bar
  401. will tell you so. It will also let you know if Cal was unable to set one or
  402. more of your alarms; be sure to read the message to find out the status of the
  403. day's HotWire alarms.
  404.  
  405. NOTE: If the MOST important event on a given day has an importance level of
  406. zero, the Alert Dialog will NOT be displayed automatically. The only time this
  407. is not the case is when the level-zero event is an alarm, HotWire is active,
  408. and Cal was unable to set the alarm for you. If this happens, Cal will display
  409. the alert so you can see the error message.
  410.  
  411. The upper box of this dialog shows the day of the week, date, and year, plus
  412. the Julian date (that's the day of the year, folks) and how many days remain in
  413. the year. The main part of the dialog is a large box that lists the events
  414. scheduled for the day.
  415.  
  416. This box can show up to eight events at a time, depending on how many lines
  417. of text each event contains. If all of the messages for the day fit on this
  418. screen, the "next page" button at the bottom of the screen will be grayed out;
  419. if there are too many messages to display at once, you can click this button to
  420. view the rest of the events. Each click shows you the next few events; after
  421. the last waiting event is displayed, Cal 'wraps around' to the first one and
  422. starts over. Unlike older versions, there is _no limit_ to the number of events
  423. Cal can display on a single day (other than the total number of events defined,
  424. that is)... but if you end up with more than 50, I'd _still_ recommend hiring a
  425. secretary. :-)
  426.  
  427. The first line of each event is marked with a small symbol, either a triangle
  428. (for a normal event) or a clock face if the event has an associated alarm. This
  429. makes it easy to see where one event ends and the next begins. In addition, you
  430. may click on a clock face; this will display the event's alarm time in the box
  431. at the top of the dialog.
  432.  
  433. You may edit an event from this screen if you wish; click on the message text
  434. or on an unused slot in the display (or press a number key on the numeric
  435. keypad). This takes you to the Edit Dialog; more on that later. Since we're
  436. still booting up, click the Cancel button or just hit Return and Cal will
  437. finish its initialization.
  438.  
  439.  
  440. 2.2.3. Expired-event Dialog
  441.  
  442. As the last step of its initialization, Cal searches your events looking for
  443. one-time date events and cyclic events. If any are found, Cal looks to see if
  444. each event's last occurrence has passed; if so, then the event has expired.
  445.  
  446. One of three things happens next. First, Cal can ignore the fact that the
  447. event has expired, and just continue initializing. Second, Cal can go ahead and
  448. erase the old event for you automatically. Third, Cal can ask you what to do
  449. with the event. Which of these happens depends on how you've set up Cal; the
  450. initial setting is for Cal to ask you what to do, but you can change this to
  451. your taste. (See the Preferences section for information on how to do this.)
  452.  
  453. Cal asks you what to do with an expired event by displaying the Expired Event
  454. Dialog. The top of this dialog shows the event and the day it was scheduled to
  455. occur. The buttons on this dialog will let you erase the event, leave it alone
  456. for the moment, or convert a one-time date event to a recurring event.
  457.  
  458. If you prefer to wait until later to look through the expired events, press
  459. the UNDO key to cancel the process. When you have more time, you can start the
  460. process again from the File menu.
  461.  
  462.  
  463.  
  464. 2.3. Main Calendar
  465.  
  466. Most of Cal's main screen is taken up by a calendar display. The month and
  467. year of the calendar is shown right underneath the display, and there is a
  468. column of month buttons to the right. There are plenty of other buttons too; in
  469. fact, almost anything you click on will do something <grin>. More about that in
  470. just a minute...
  471.  
  472.  
  473. 2.3.1. Types of Days
  474.  
  475. The calendar display has changed significantly from older versions. If Cal is
  476. showing the current month and year, then today's date will be highlighted
  477. (white numbers on a black background). Days in the preceding and following
  478. months are grayed out. The other days in the month may be surrounded by boxes
  479. of varying thickness. These borders indicate the importance level of the _most
  480. important_ event falling on that date... a heavy border means an important
  481. event (levels 7 to 9) occurs that day, a medium border means the most important
  482. event is between four and six, and a skinny border means that a level 1 to 3
  483. event occurs. If there is no border surrounding a day, then only level zero
  484. events occur then (or, of course, nothing at all is scheduled that day).
  485.  
  486.  
  487. 2.3.2. Changing the Year or Month
  488.  
  489. There are a couple ways to look at different months and years. First notice
  490. the column of buttons to the right of the calendar. These buttons are labeled
  491. with the names of the months; click one of these buttons to move directly to
  492. that month. The bottom two buttons are labeled Next and Prev, and will skip
  493. forward or back one month. (Also note that the buttons are marked like the top
  494. row of keys on your keyboard, with numbers 1 to 0 plus - and =... pressing one
  495. of these keys will act just like clicking the appropriate month button. You may
  496. also use the numeric keypad keys 1-9, (, ), and / to select a month. The left
  497. and right arrow keys move you forward or back a month like the Next and Prev
  498. buttons.)
  499.  
  500. Next, note the arrow and double-arrow buttons right underneath the calendar.
  501. These buttons, or the up and down arrow keys, move the display forward or back
  502. one or ten years at a time.
  503.  
  504. If you want to look at a specific year, click on the box that shows the
  505. current month and year. When you do this, you see a dialog that allows you to
  506. type in the year you want. You'll probably find this easier than clicking the
  507. up and down buttons.
  508.  
  509.  
  510. 2.3.3. Looking at a Specific Day
  511.  
  512. To find out more about a specific day or discover the reason for a border
  513. around a number, simply click directly on that day in the calendar. This takes
  514. you to the Alert Dialog which we (I :-) talked about earlier. You'll see the
  515. date spelled out and a list of the day's events.
  516.  
  517. (Incidentally, this is the easiest way to add a new event to Cal -- look at
  518. the month the event falls in, and click on the day. When the Alert Dialog shows
  519. up, click on the text of any message or on an empty message slot. You'll go to
  520. the Edit Dialog, with the date preselected, ready to add a new event. We'll
  521. discuss that part later; right now, let's finish up with the main screen.)
  522.  
  523.  
  524. 2.3.4. Other Buttons
  525.  
  526. The buttons across the bottom of the main calendar screen will take you to
  527. several other dialogs, which are explained in detail below.
  528.  
  529. The question-mark button takes you to the Extras dialog, where you can find
  530. the date of Easter or perform date calculations.
  531.  
  532. Today, obviously enough, tells Cal you want to see the calendar of the
  533. current month. If you already looking at the current month, then Cal will show
  534. you the Alert for today's date.
  535.  
  536. The Prefs button allows you to customize Cal's behaviour from the Preferences
  537. dialog.
  538.  
  539. The File button lets you load or save Cal's events, erase an entire month's
  540. worth of events at once, or check Cal's database for events which have
  541. expired.
  542.  
  543. The Scan button moves you to the Scan Dialog, where you can see a number of
  544. events at once.
  545.  
  546. The Quit button lets you exit Cal.
  547.  
  548. NOTE: Cal keeps track of whether you change any of your events or customize
  549. Cal's setup. If you look right under the column of month buttons, you'll see
  550. the word SAVED or CHANGED to remind you.
  551.  
  552. If you've changed something during your Cal session but haven't saved your
  553. changes, you get a chance to do so when you click Quit. An alert appears that
  554. asks you if you want to save the new information, resume what you were doing in
  555. Cal, or go ahead and quit. Choose the one you feel is most appropriate. If you
  556. select Save, the GEM item selector will appear so you can locate the Cal file.
  557. (If you press the Alt key when you select Save, you'll go to the File dialog so
  558. you can save to a file or to a Cal ACC.) After you save your events to a file
  559. successfully, you'll exit Cal; otherwise you'll return to the main dialog.
  560.  
  561. WARNING: If you run Cal as a program (or a non-resident ACC) and decide to
  562. exit without saving your changes, they're GONE. If you're running Cal as a
  563. regular accessory, your changes will still be in place when you next open the
  564. ACC (and, if you _still_ don't save your setup, you'll be reminded when you try
  565. to exit again).
  566.  
  567. ANOTHER NOTE: One of your options is to have Cal erase expired events for you
  568. automatically. When this happens, the event is removed from the copy of Cal
  569. currently in your Atari's memory. This means Cal's setup can change _even if
  570. you don't do anything_! If you see the "setup has changed" alert when you exit
  571. Cal but you haven't changed anything, it's probably because Cal has erased an
  572. expired event for you.
  573.  
  574.  
  575. The last button on the main screen is the largest one- it's the main title
  576. bar that normally reads "Calendar 6.2". When you click on the title bar, you go
  577. to a special screen that shows you the current version number and release date,
  578. how many of each event type is currently defined, and where to send your
  579. shareware donation <grin>. Press any key or click the mouse button to exit this
  580. screen.
  581.  
  582. The title bar also allows you to reposition Cal's dialog on the screen. Click
  583. on the title bar and hold down the mouse button, then drag the outline of the
  584. dialog to the desired location and release the button. The relative position
  585. of the dialog is saved whenever you save your setup; if you wish, you can tell
  586. Cal to use this saved position automatically when it starts up.
  587.  
  588.  
  589.  
  590. 2.4. Extras Dialog
  591.  
  592. The Extras dialog is a simple screen that lets you find the number of days
  593. between two dates or the date of Easter for a given year, or lets you add or
  594. subtract some number of days from a base date and find the resulting date.
  595.  
  596. Use the top half of the dialog to perform date calculations. Enter a base
  597. date at the top, then type in a date (to find the days between) or a number of
  598. days (to calculate a new date), then press Enter. The two radio buttons let you
  599. choose USA (month/day/year) or European (day/month/year) style dates.
  600.  
  601. If you leave part of a field empty, Cal will use the current date (month,
  602. day, or year) for that value. If you leave both empty, Cal will gladly tell you
  603. that there are zero days between today and today. :-)
  604.  
  605. The bottom half of the dialog will calculate the date of Easter for a given
  606. year. (Betcha didn't know you could calculate that, did ya? :-) Type in a year
  607. and hit Enter, and Cal will tell you when Easter falls that year.
  608.  
  609. Click Exit or press Undo to leave the Extras dialog.
  610.  
  611.  
  612.  
  613. 2.5. Preferences Dialog
  614.  
  615. As was mentioned above, you can customize several aspects of Cal's behaviour.
  616. These include the handling of expired events, whether to use USA or European
  617. dates, and a number of other options. To change any of these items, click  the
  618. Prefs button on Cal's main calendar screen.
  619.  
  620. 2.5.1. Desk Menu Entry
  621.  
  622. The top of this dialog contains a text field labelled "Desk Accessory Menu
  623. Entry". When you run a fresh copy of Cal as a desk accessory, it shows up in
  624. the menu as "Calendar 6.2". If you wish, you can change this entry by typing in
  625. a new entry to use. If you have a large number of events to keep track of, you
  626. may want to split them up between two or more copies of Cal... this feature
  627. gives you a way to distinguish between the different copies in the Desk menu.
  628. (The string you type in here also shows up in the main screen's title bar, so
  629. you can tell which copy of Cal you're running.)
  630.  
  631. NOTE: When Cal runs as a non-resident ACC under MultiDesk Deluxe, the entry
  632. in MultiDesk's menu comes from a special list you set up in your TITLES.MDX
  633. file. That means if you change the title here, it WON'T automatically change.
  634. See your MultiDesk Deluxe guide for more information.
  635.  
  636.  
  637. 2.5.2. When An Event Expires
  638.  
  639. Underneath the menu entry field are a number of radio buttons. The lower left
  640. group lets you tell Cal how to handle an expired event. There are three buttons
  641. in this group: Erase the event, Leave it alone, and Ask what to do. If you
  642. select Leave It, then Cal will never check for expired events unless you choose
  643. to do so from the File dialog. If you select Ask, then Cal will ask you what to
  644. do with each expired event when you first run Cal. You can also select Erase
  645. It- when you do, Cal will automatically erase any event that has expired.
  646.  
  647. NOTE: You must save your Cal setup to disk after an expired event has been
  648. erased; otherwise it will still be in Cal's database on disk, and will be there
  649. the next time you load Cal. Also, Cal keeps track of any changes that were made
  650. in a session. When you exit Cal, it checks to see if you've saved your changes-
  651. if not, you'll see an alert asking if you want to save your changes. Remember
  652. that if _Cal_ erases an expired event for you, you may see this alert even
  653. though _you_ haven't changed anything!
  654.  
  655.  
  656. 2.5.3. Other Settings
  657.  
  658. Between the menu entry and expiration setting is a box labeled "Default
  659. Values". When you add an event, you can assign a particular number of days of
  660. advance notice for the event; Calshow pays attention to this number when it
  661. builds its display. The first field in the Default Values box is marked
  662. "days:", and tells Cal what value to use as the default notice whenever the
  663. Edit dialog shows you an empty template. The second field is marked "level:",
  664. and allows you to set the default importance level for new events.
  665.  
  666. The right side of the Prefs dialog has a box labeled Options which control a
  667. number of features. In each case, select the button next to a feature you want
  668. to turn on or deselect the button to turn the feature off:
  669.  
  670. The 'Alarms' button gives Cal permission to set HotWire alarms. IF THIS
  671. BUTTON IS NOT SELECTED, CAL WILL NEVER SET ANY HOTWIRE ALARMS ON ITS OWN! The
  672. only way to set alarms when this button is not selected is to choose the Set
  673. Alarms option from the File dialog.
  674.  
  675. The button marked 'Beeps On' asks Cal to ding the ST's bell whenever a GEM
  676. alert is displayed. You shouldn't see many alerts normally, but feel free to
  677. turn off the beeps if you wish.
  678.  
  679. When the 'Euro Date' button is selected, the European day/month/year style is
  680. used for all dates instead of the USA style month/day/year. (Actually, in most
  681. cases Cal will display the month name spelled out, or the first three letters
  682. of the name. Or, to show a number of months at once, Cal displays a string with
  683. the first letter of each month name, or a period if the month isn't selected.
  684. Example: "JF........ND" indicates January, February, November, and December.)
  685.  
  686. You may select the button marked '24hr Time' if you would prefer to see alarm
  687. times in military 24-hour time instead of 12-hour AM/PM time. This setting
  688. affects the display in the Scan dialog and the Alert dialog.
  689.  
  690. The 'Zoomboxes' button asks Cal to draw decorative shrinking boxes when
  691. changing from one dialog to another. Unless you have a fast machine and a
  692. blitter, you'll probably want to leave this button deselected. :-)
  693.  
  694. If the 'Location' button is selected, Cal will use the saved position of the
  695. dialog when it appears. Otherwise, the dialog will be centered on screen. (The
  696. location is saved as a relative position, so you never need to worry about
  697. Cal's dialog appearing halfway off the screen!)
  698.  
  699. The last section of buttons in the Prefs dialog lets you decide if you want
  700. to be warned before you add, replace, or erase an event. Some people find these
  701. alerts irritating, intrusive, or excessive, so I've supplied a way to turn them
  702. off. Simply deselect the button, and be sure to save your changes. (Note: in
  703. older versions, the alerts occurred after the fact. That was like locking the
  704. barn door after the horse escaped, and I asked myself many times why I did that
  705. <g>. They work correctly now, and ask you BEFORE the event so you get a chance
  706. to change your mind.)
  707.  
  708.  
  709. After you make any changes in the Preferences dialog, be sure to save the new
  710. information in the Cal program file! Either save the information from the File
  711. dialog, or you'll have a chance to do so when you exit Cal.
  712.  
  713.  
  714.  
  715. 2.6. File Dialog
  716.  
  717. The File Dialog allows you to save the events and preferences you've stored
  718. in Cal. There are also options to reload a new set of events into Cal, merge
  719. the events from a Cal file into Cal without erasing what's already there, erase
  720. a number of events at once, check to see if any of your events have expired, or
  721. set HotWire alarms for the day.
  722.  
  723. There are several important concepts to keep in mind here:
  724.  
  725.    1. BEFORE you run Cal or load it as a resident desk accessory, all
  726.       your events and preferences are stored IN THE CAL PROGRAM FILE.
  727.  
  728.    2. AFTER you start Cal or load it as a resident desk accessory, your
  729.       events and preferences are stored IN YOUR COMPUTER'S MEMORY.
  730.  
  731.    3. Once Cal is running, CAL HAS NO CONNECTION WITH THE ACTUAL PROGRAM
  732.       FILE ON DISK.
  733.  
  734.    4. This means that any changes you make in Cal - adding new events,
  735.       changing existing events, or setting new preferences - ONLY AFFECT
  736.       THE COPY OF CAL IN YOUR ST'S MEMORY! If you want to make your
  737.       changes permanent, you must SAVE your setup to the program file.
  738.  
  739.    5. This also means that once Cal is running as a standard accessory,
  740.       CHANGES YOU MAKE TO THE PROGRAM FILE DO NOT AFFECT THE CAL ACC!
  741.       If Cal is running as an ACC, and you run Cal separately as a program,
  742.       the changes you make to the PROGRAM will NOT show up in the ACC
  743.       until you load the new setup from disk (or save it to the ACC).
  744.  
  745.  
  746. 2.6.1. Cal File Types
  747.  
  748. There are two basic types of Cal files. The first is the Cal program file
  749. itself. Your events are stored in the actual program file until Cal starts up.
  750. (Note: the format of Cal 6's database is not identical to older versions. Cal 6
  751. will let you load your events from an older 5.x version, but you will not be
  752. able to save to an old version.)
  753.  
  754. The second type of Cal file is an external Cal data file. Starting with
  755. version 6.0 of Cal, you can save your _events only_ to a separate file for
  756. archiving, transporting, or other special uses. A Cal data file is around 20K
  757. in size and contains only the event database; no preferences or program code.
  758.  
  759. Note: Versions 4.9 and up of the Whatis File Identifier can recognize Cal
  760. data files. The latest versions of Whatis and Cal can always be found on
  761. Compuserve's Atari Productivity Forum (GO ATARIPRO at any ! prompt).
  762.  
  763.  
  764. 2.6.2. Loading
  765.  
  766. The Load From File button in the File dialog lets you completely replace
  767. Cal's events with those stored in a disk file. Click the Load button, use the
  768. item selector to choose a file from which to load, and click OK. If the
  769. operation was successful, Cal will contain the same events that are present in
  770. the disk file.
  771.  
  772. You can load events from either the Cal program file or from an external Cal
  773. data file. When you load from the program file, your preferences are loaded at
  774. the same time. If you load from a Cal data file instead, only your events are
  775. changed (since the data file doesn't contain any preference data).
  776.  
  777. Cal 6 will also let you load your events (but not preferences) from a copy of
  778. Cal version 5. As the events are loaded, they are converted to the new Cal 6
  779. format automatically. This makes it simple to convert to Cal 6 from an older
  780. version of Cal.
  781.  
  782.  
  783. 2.6.3. Saving
  784.  
  785. The Save To File button allows you to save your events to a disk file. To
  786. save all your events and preference settings to the Cal program file, click
  787. Save, use the item selector to locate Cal, then click OK. If the operation was
  788. successful, your copy of Cal on disk will contain the same information as the
  789. copy of Cal that is currently running.
  790.  
  791. You also have the option of creating a separate Cal data file, or saving your
  792. events to an existing Cal data file. To create a new file, simply type a new
  793. filename when the item selector appears. You'll be told that the file doesn't
  794. exist, and asked if you wish to create a new file; click Yes or hit Return, and
  795. Cal will save all your events into a new data file.
  796.  
  797. It's even easier to save your events to an existing Cal data file - just
  798. select the data file with the item selector, as if it were the Cal program
  799. file. Cal can tell which type of file you've selected, and will save in the
  800. correct format automatically.
  801.  
  802. Reminder: Cal 6 cannot save events to an older version of Cal. If you see an
  803. alert that says "Not Cal, or wrong version", try again and be sure you select
  804. your version 6 file.
  805.  
  806.  
  807. 2.6.4. Merging
  808.  
  809. Cal 6 adds the ability to 'merge' events from any version 6 Cal program or
  810. data file into its database. When you merge events, none of the events
  811. currently in Cal are changed - Cal reads the events from the file one by one,
  812. and if they are not already present, they are added to what's already there.
  813. Exact duplicates are ignored, so you won't need to worry about having two
  814. copies of each event.
  815.  
  816. Events cannot be merged from an older version of Cal. To accomplish this,
  817. first save the events you've defined in Cal to an external data file, then load
  818. the events from your older version. When that's complete, you can merge the
  819. events from the data file you created.
  820.  
  821.  
  822. 2.6.5. Talking with Other Cals
  823.  
  824. Versions 6.1 and later of Cal have the ability to communicate with any Cal
  825. ACCs in your system. If you have Cal installed as an accessory and then run Cal
  826. as a program, the program will be able to read the events from or save a new
  827. set of events into the accessory. If you have two or more copies of Cal running
  828. as ACCs, each will be able to read or write the events stored in the other.
  829. This communication is controlled by three buttons and an editable text field in
  830. the File Dialog.
  831.  
  832. The two buttons on the right of the dialog, under the Save to File button,
  833. are labelled 'load from acc' and 'save to acc'. When these buttons are enabled,
  834. you can use them to read or write events from an active Cal ACC just as you
  835. would from a Cal program file.
  836.  
  837. To the left is a button marked 'rescan for acc', and underneath this button
  838. is a box marked 'name' with a text entry field. These two objects control which
  839. copy of Cal you are talking to.
  840.  
  841. When your ST loads an accessory, GEM keeps track of the file name. Later,
  842. applications can ask GEM if a particular ACC has been loaded. To talk with one
  843. particular Cal ACC, type the filename of that ACC, minus the extender, into the
  844. Name field, then click the Rescan button. Cal will ask GEM if that file has
  845. been loaded; if so, the load-from and save-to buttons will be enabled.
  846.  
  847. NOTE: When Cal tries to load from or save to an ACC, it will wait up to five
  848. seconds for the ACC to respond. Normally the process will be very quick, but if
  849. you have Cal set up as a non-resident MultiDesk MDX, it will take MultiDesk a
  850. couple seconds to load Cal.
  851.  
  852. IMPORTANT NOTE: You WILL NOT be able to save your events successfully into a
  853. non-resident copy of Cal! The process may appear to finish without error, but
  854. once the Cal MDX has responded, MultiDesk unloads it from memory- meaning that
  855. none of the new events are saved. There is currently no way to prevent you from
  856. trying this, but future updates to MultiDesk Deluxe will make it possible. Cal
  857. is already set up to take advantage of this feature when it is available.
  858.  
  859. ANOTHER NOTE: The restrictions dealing with MultiDesk ACCs that talk with
  860. other ACCs applies to Cal. See your MultiDesk manual for more information.
  861.  
  862.  
  863. 2.6.6. Mass Erase Dialog
  864.  
  865. This dialog is used to erase all the events in one or more months at one
  866. time. Click the File dialog's Erase button and the dialog will appear; then
  867. select the months you wish to erase and click the Erase button. If you respond
  868. Yes to the alert that appears, all the events that occur in the selected months
  869. will be removed. Cyclic events are not affected.
  870.  
  871. NOTE: This process entails moving around a lot of data, so it may take awhile
  872. to finish, depending on how many events you have and which months are being
  873. erased. The cursor will change to the busy-bee shape while Cal is working. Be
  874. sure to give Cal enough time to complete the process!
  875.  
  876. You also have the option of erasing ALL OF YOUR EVENTS AT ONCE. If you select
  877. the All button, then verify that you really want to do so, Cal will erase every
  878. one of the events you've defined. This process takes only a fraction of a
  879. second. When it completes, you will have a totally empty copy of Cal with no
  880. events defined at all.
  881.  
  882.  
  883. 2.6.7. Setting HotWire Alarms
  884.  
  885. The lower left button on the File Dialog is marked 'set Alarms'. When you
  886. click this button, Cal will check every event scheduled for the current date
  887. and set any HotWire alarms that aren't already set. You'll see an alert that
  888. tells you how many alarms were attempted and how many were set. This button
  889. will be grayed out if HotWire 2.1 or later is not active in your system. (Note:
  890. since Cal is very good about setting alarms when needed, you'll only need to
  891. use this feature after you've defined a new alarm for the current day. In most
  892. other cases, the report will show that no new alarms were set.)
  893.  
  894. NOTE: If you select this option, Cal will set the appropriate HotWire alarms
  895. even if you've turned off alarms in the Preferences dialog.
  896.  
  897.  
  898. 2.6.8. Checking Expired Events
  899.  
  900. The last option in the File Dialog allows you to check all your events and
  901. find those which have expired. For each expired event, you will see the Expired
  902. Event Alert. You may leave an expired event alone for the time being, erase the
  903. event, or convert the event from a one-time date event to a recurring date
  904. event. See the section above on the Expired Event Dialog for more information.
  905.  
  906.  
  907.  
  908. 2.7. Scan Dialog
  909.  
  910. The Scan Dialog lets you view a number of events at once. You can browse
  911. through a summary of all your events, or use the Find dialog to select a subset
  912. of events to view.
  913.  
  914.  
  915. 2.7.1. Concepts
  916.  
  917. Cal keeps an index of all the events you've set up. This index is sorted by
  918. month, date (for a date event) or week and weekday (for a positional event),
  919. alarm time, and importance level. All positional events for a month show up
  920. before the date events for that month (they have a 'date' of zero). Cyclic
  921. events are listed first in the index, before any other types of events.
  922.  
  923. NOTE: Any event that is scheduled for more than one month is listed in the
  924. index as if it occurred in the _first_ scheduled month. For example, if you pay
  925. the rent on the 15th of every month, the event shows up with the January
  926. events. If you pay your car insurance in March and September, the event shows
  927. up in March.
  928.  
  929.  
  930. 2.7.2 How Scanning Works
  931.  
  932. The way Cal's Scan feature works requires some explanation. Cal keeps a 'map'
  933. of all the events listed in the index. This map contains a special flag for
  934. each event. Each flag can be either on or off. When an event's flag is ON, that
  935. event is 'selected' and will show up on the Scan display. When the flag is OFF,
  936. the event will not appear- it will be 'hidden'.
  937.  
  938. When you first enter the Scan dialog, all the flags are turned ON; that means
  939. all your events can be displayed. To find specific events or groups of events,
  940. you can use the Find dialog. This dialog will look at each event whose flag is
  941. ON, and see if it satisfies your request. If it doesn't, the Find routine will
  942. turn that event's flag OFF.
  943.  
  944. The Reset button at the bottom of the Scan display will turn all the event
  945. flags ON, no matter what state they're in at the moment.
  946.  
  947.  
  948. 2.7.3. Scan Display
  949.  
  950. The title bar in the Scan Dialog displays the number of events currently
  951. selected (those with ON flags) and the total number of events in Cal's
  952. database. The dialog can display up to eight events at a time. The entry for
  953. each event takes up two lines. The first line is in small type, and shows you
  954. the event's index number, what importance level you've assigned the event, the
  955. time of the event's alarm, and when the event occurs. The next line contains,
  956. in large type, the first line of the event's message text. Just to the left of
  957. this text is a small 'bullet'.
  958.  
  959. If you want to find out more about an event or make changes to it, click the
  960. message text. This takes you to the Edit Dialog, which shows you all the
  961. information about the event. (The Edit Dialog is explained below.)
  962.  
  963. When you first enter the Scan Dialog, the display is positioned to the first
  964. event in the month you were viewing. Two buttons at the bottom of the dialog,
  965. Prev and Next, allow you to scroll the display forward or back a page at a
  966. time. Several other ways to scroll the display are also available from the
  967. keyboard.
  968.  
  969. The Clr/Home key will move you to the first event. Shift Clr/Home moves to
  970. the last event. The left and right arrow keys scroll the display one event at a
  971. time, and the up and down arrows scroll a page at a time.
  972.  
  973. You can use the top row of keys on the main keyboard (numbers 1-0, -, =) to
  974. start the display at the first event in any month, January to December. If
  975. there are no events indexed in that month, the display will show the first
  976. event in the following month. If no events at all occur past that month, the
  977. first event will be displayed.
  978.  
  979. Note: Remember that cyclic events are indexed before the other types. If you
  980. use the '1' key to move to January, all your cyclic events will have scrolled
  981. off the top of the display... you'll need to scroll back to see them.
  982.  
  983. You may 'hide' an event by clicking on the bullet next to the event's text.
  984. When you do this, Cal turns the event's flag OFF so it doesn't appear.
  985.  
  986.  
  987. 2.7.4. Finding Events
  988.  
  989. The Find button at the bottom of the Scan dialog takes you to the Find Dialog
  990. so you can select a different group of events to display. When you return to
  991. the Scan dialog, only the events that match your selection will be shown. The
  992. next section of this manual explains the Find Dialog.
  993.  
  994.  
  995. 2.7.5. Scan Options
  996.  
  997. You have several options available when any events are selected. Click the
  998. title bar of the Scan dialog, and the Scan Options alert will appear. If you
  999. wish, you may erase all the events that you've selected, or you can swap the
  1000. 'selected' status of all events (those that were hidden will be selected, those
  1001. that were selected will be hidden). This gives you an easier way to perform
  1002. housekeeping.
  1003.  
  1004.  
  1005.  
  1006. 2.8. Find Dialog
  1007.  
  1008. The Find routine uses the same event-flag method as the Scan dialog. When you
  1009. try to find events that satisfy your requirements, Cal checks each event whose
  1010. flag is ON to see if it matches. If not, the event's flag is turned OFF. If
  1011. there are NO events which satisfy your request, Cal will ding the system bell,
  1012. restore the event map to the way it was before you tried your search, and
  1013. return you to the Find dialog. Otherwise you'll return from the dialog, and the
  1014. event map will have the results of your search.
  1015.  
  1016. The Reset button at the bottom of this dialog acts exactly like the one in
  1017. the Scan dialog - it turns the flags ON for all your events ("resets the map").
  1018. If a search is unsuccessful, you may want to click this button to make sure Cal
  1019. looks through all your events.
  1020.  
  1021. In some cases, you may enter the Find dialog when ALL the event flags are
  1022. turned OFF. When you start a search Cal notices this and gives you the option
  1023. of searching through all your events; if you say it's ok, Cal will reset the
  1024. event map for you before the search starts.
  1025.  
  1026. The Find dialog gives you several ways to specify the events you want to
  1027. find. You can search for events that contain a certain string, or use 'filters'
  1028. to specify certain event types, status, or importance level.
  1029.  
  1030.  
  1031. 2.8.2. Search String
  1032.  
  1033. The top section of the Find dialog lets you specify a string to search for.
  1034. If you enter a string in this field, only events which contain the string will
  1035. be selected. You may use the radio buttons below the string to choose if the
  1036. search should be case-sensitive or not.
  1037.  
  1038. You can search for strings that include non-ASCII characters (those which
  1039. don't appear on the keyboard) if you wish. To enter a non-ASCII character in
  1040. your string, hold down the ALT key and type in up to three decimal digits on
  1041. the numeric keypad. The cursor will turn into a busy bee until you either
  1042. release the ALT key or enter three digits. When you do so, the appropriate
  1043. character will appear in the string.
  1044.  
  1045. Cal can find a string in any part of an event's message text; the string can
  1046. appear on any of the three lines. In fact, Cal can even find the string if it
  1047. is split between two lines! The end of a line of text is counted as a space
  1048. character when searching, so just include a space where the end of a line might
  1049. occur. For example, if your event has "This is a sample of an event" as the
  1050. first line and "split between two lines" as the second, you could find the
  1051. event by using "event split" as your search string.
  1052.  
  1053. If you do not enter a string in this field, Cal will find any event matching
  1054. the filters you enter below.
  1055.  
  1056.  
  1057. 2.8.3. Type, Status, Importance Filters
  1058.  
  1059. The lower section of the Find Dialog lets you set up 'filters' to give you
  1060. more control over the events you find. The first part of this section lets you
  1061. find events of a certain type. If you select the button next to one of the four
  1062. event types, only events of that type will be included in the search.
  1063.  
  1064. If you decide to search for one-time data events, you have the option of
  1065. restricting the search to certain years. You should see two entry fields where
  1066. you may type in a start and/or end year for the search. If you enter a start
  1067. year, only one-time events that occur in that year or after will be found; an
  1068. end year restricts the search to events through the end of that year.
  1069.  
  1070. The next part allows you to restrict your search to only expired events or
  1071. events that have valid HotWire alarm information; again, select the button next
  1072. to the type of event you want to find.
  1073.  
  1074. The bottom part of the dialog lets you specify importance levels you're
  1075. interested in. There are eleven buttons across the dialog, marked 0-9 and one
  1076. button that is blank. If you select any of these buttons, only events whose
  1077. importance matches a selected button will be found. The empty button will
  1078. deselect all the importance buttons, so that events of any importance will be
  1079. allowed.
  1080.  
  1081. Once you've set up the dialog to find a group of events, click the Select
  1082. button or press Enter. Cal will find all the events that match your parameters
  1083. and return you to the previous dialog. If no events match, Cal will ding the
  1084. system bell and you'll return to the Find dialog.
  1085.  
  1086.  
  1087.  
  1088. 2.9. Edit Dialog
  1089.  
  1090. The Edit Dialog allows you to add, change, or erase events stored in Cal's
  1091. database. You can reach this dialog two ways: either click on a message slot in
  1092. the Alert Dialog, or click on a message slot in the Scan dialog. If you enter
  1093. the Edit dialog by clicking on a message, the edit screen will display all the
  1094. information on that event; if you click on a blank slot instead, Cal will show
  1095. you the first event on that day. If no events are scheduled on a day, the Edit
  1096. dialog will show you an empty 'template' ready for you to add a new event.
  1097.  
  1098. This is the most complicated dialog in the Cal system, so it deserves careful
  1099. study. We'll start with a discussion of a few basic concepts.
  1100.  
  1101.  
  1102. 2.9.1. Edit Mode
  1103.  
  1104. Cal supports four different types of events. Each type is scheduled in a
  1105. different manner, so Cal needs to provide a way to enter the data for any event
  1106. type. Cal does so by providing three different 'edit modes' - Date mode (for
  1107. recurring and one-time date events), Position mode, and Cyclic mode. Most of
  1108. the fields on the Edit screen are the same for each mode, but the section
  1109. regarding when an event occurs is different for each.
  1110.  
  1111. The screen for editing Date events contains a number of month buttons, plus
  1112. fields where you can enter a date and year to specify when the event occurs.
  1113. The Position mode screen contains the same month buttons, but instead of fields
  1114. for a date and year, you will see radio buttons where you can select a week and
  1115. weekday for an event. The screen for Cyclic events has fields for you to type
  1116. in the date of the event's first and last occurrence, and the number of days
  1117. between each occurence of the event.
  1118.  
  1119.  
  1120. 2.9.2. Fields on the Edit Screen
  1121.  
  1122. First, take a moment to look at the dialog. Most of the dialog is taken up by
  1123. a large box. The top section of this box shows you the message text for each
  1124. event. Up to three lines of text are allowed here. The first line has a box
  1125. around it to remind you that only the first line of text is displayed in the
  1126. Scan dialog.
  1127.  
  1128. The center of the edit screen shows you all the information needed for
  1129. scheduling the event. This portion of the screen will be different for each
  1130. different mode; in Date mode you'll see the date entry fields, in Position mode
  1131. you see the week and weekday buttons, and in Cyclic mode you see the start/end
  1132. dates and the period.
  1133.  
  1134. The lower part of the large box contains information common to all event
  1135. types: fields for the importance level, the number of days advance notice for
  1136. the event, and for HotWire alarm events, the time of day and slot number for
  1137. the alarm.
  1138.  
  1139. Directly under the large box are two long, skinny buttons. The first button
  1140. lets you switch from one edit mode to another; click this button (or press the
  1141. Alt and 'M' keys) to toggle between date mode, position mode, and cyclic mode.
  1142. The second button lets you jump to the next event on a particular day; click
  1143. the button, or press Alt-N.
  1144.  
  1145. Across the bottom of the Edit dialog you'll see a number of action buttons.
  1146. These buttons allow you to find an event with the Find dialog, erase an event,
  1147. replace an existing event, or add a new event. The last button lets you exit
  1148. the Edit dialog.
  1149.  
  1150.  
  1151. 2.9.3. Looking at Events
  1152.  
  1153. Now let's see how to look at an event. If you clicked on the text of an event
  1154. message to get here, then the Edit dialog will show you all the information on
  1155. that event. If you clicked on a blank message slot, then all the fields here
  1156. will be blank or in their default states.
  1157.  
  1158. For the moment let's assume there's an event showing. The message field at
  1159. the top tells you which event you're looking at. You can see the event's
  1160. importance, days advance notice, and alarm information at the bottom of the
  1161. screen. These fields should be pretty easy to understand.
  1162.  
  1163. The center part tells you exactly when the event is scheduled: if the event
  1164. occurs in a particular month, then that month button will be selected. If an
  1165. event occurs in more than one month, all the appropriate month buttons are
  1166. selected. If this is a cyclic event, the start/end dates are shown.
  1167.  
  1168. When you look at a date event, the date on which the event falls is listed on
  1169. the right. If this happens to be a one-time event, the year in which the event
  1170. occurs is shown on the left.
  1171.  
  1172. IMPORTANT NOTE: THIS IS THE ONLY DIFFERENCE BETWEEN A NORMAL DATE EVENT AND A
  1173. ONE-TIME DATE EVENT. If there's a year in the box, it's a one-time event;
  1174. otherwise it's a normal recurring date event. One-time events expire; recurring
  1175. events don't.
  1176.  
  1177.  
  1178. Now that that's straight, let's see how to look at a _different_ event.
  1179.  
  1180.  
  1181. If more than one event is scheduled on the day (or position in the month)
  1182. you're looking at, simply click the skinny Next Event button (or press Alt-N).
  1183. Every time you click this button, Cal shows you the next event on this
  1184. schedule. Click the button as often as you wish to cycle through all the events
  1185. on that day. After the last event on this schedule is displayed, you'll see an
  1186. empty template; click the button again to start back at the first event.
  1187.  
  1188. If only a single event, or no events at all, are scheduled on that day, then
  1189. you need to change days. To do so, just change any of the month or position
  1190. buttons, or type in a different date, then click the Next Event button.
  1191. Whenever you click this button, Cal looks to see what schedule you've selected,
  1192. then goes through his database looking for events on that schedule. If any are
  1193. found, Cal will display them one at a time.
  1194.  
  1195. IMPORTANT NOTE: If you wish, you can select more than one month button for
  1196. your search. When you do this, you'll be able to scan through all the events
  1197. matching your schedule that occur in any of the months you select. For each
  1198. event, Cal will use the month buttons to show you when the event is scheduled,
  1199. but will still remember which month buttons YOU selected. If _YOU_ change the
  1200. month buttons, then Cal will use your choices for looking at events. If _CAL_
  1201. changes the month buttons to show when an event occurs, that WON'T change the
  1202. months you selected. Cal will continue to use your month selections until you
  1203. change the edit mode, or select different month buttons on the dialog. (Note:
  1204. Cal won't store your selections until you actually change the month buttons
  1205. yourself.)
  1206.  
  1207.  
  1208. Let's say you're looking at date events, but you want to switch over and look
  1209. at a positional event. It's easy to do - just click the skinny button marked
  1210. 'To Position Mode' near the bottom left. Cal will shift to Position Mode; then
  1211. you select the buttons for whatever schedule you want. When you've done that,
  1212. click the skinny Next Event button. That makes Cal look for events on your
  1213. selected schedule.
  1214.  
  1215. When you get into position mode, look at the skinny mode button you just
  1216. clicked: it now reads 'To Cyclic Mode'. Also, the skinny Next Event button
  1217. reads 'Next Pos Event'. Whenever you click the Mode button, Cal toggles between
  1218. Date mode, Position mode, and Cyclic mode. The skinny buttons change their
  1219. markings to show you what effect they'll have.
  1220.  
  1221. NOTE: Whenever you change edit modes, Cal looks through the event map and
  1222. turns OFF the flags for any events that aren't of the new type. This won't
  1223. cause a problem, but it may confuse you if you're not expecting it!
  1224.  
  1225.  
  1226. If you want to find a particular event, you can use the Find dialog to help;
  1227. just click the Find button at the bottom of the screen. Use the dialog, and
  1228. when you exit, the next event you found will be displayed.
  1229.  
  1230. NOTE: 'Next event' means the first marked event whose position in the index
  1231. follows the event that was on the screen when you called Find. On occasion
  1232. there WON'T BE ANY MARKED EVENTS that are indexed AFTER the previous event.
  1233. When this happens, you'll see an empty template on the screen. To view your
  1234. events, just click the Next Event button and you'll see the first marked
  1235. event.
  1236.  
  1237.  
  1238. 2.9.4. The When Dialog
  1239.  
  1240. Any time the Edit dialog is showing a valid cyclic event, the small "Show
  1241. When" button in the middle of the screen will be enabled. If you click this
  1242. button, you will see the When Dialog for that event. This dialog lists the date
  1243. of every occurrence of the event. Use the 'Past' and 'Future' buttons to scroll
  1244. forward and back through the list. If you wish, you can click on one of the
  1245. dates- when you do so, you return to the main calendar screen, showing the
  1246. calendar for the date.
  1247.  
  1248.  
  1249. 2.9.5. Changing Existing Events
  1250.  
  1251. Now that you've seen how to _look_ at an event, you can learn how to _change_
  1252. an event. You'll be pleased to know that it's simple... just find the event,
  1253. then change its message, schedule, importance, days notice, or whatever. When
  1254. you've finished the changes, click the Replace button at the bottom of the
  1255. screen. When you do this, Cal erases the old event you were looking at, then
  1256. adds whatever you typed in as a new event. Any settings you didn't change are
  1257. left as they were.
  1258.  
  1259. Cal has several features to make editing events simpler. When you're editing
  1260. a text field, you can use the shifted left and right arrow keys to move to the
  1261. beginning or end of the field you're editing. The Clr/home key will move the
  1262. cursor right to the first line of the message; shifted, to the HotWire alarm
  1263. slot. (The up and down arrow keys also 'wrap around' these two fields.) You can
  1264. even enter non-ASCII characters in a field by holding down the Alt key and
  1265. typing in three decimal digits on the numeric keypad.
  1266.  
  1267.  
  1268. 2.9.6. Adding New Events
  1269.  
  1270. Adding a new event is as simple as changing an existing one- in fact, the
  1271. process is exactly the same. The only difference is that to add a completely
  1272. new event, you should click Add instead of Replace.
  1273.  
  1274. When an empty 'template' appears on the screen, just enter the information
  1275. you need to define a new event. Or go ahead and type over an event that's
  1276. already displayed on the screen- when you click Add, the old event isn't
  1277. changed at all; a brand new event is added to the database. However, if the
  1278. event you type in exactly matches an event already in the database, you'll be
  1279. told that the event exists and the duplicate will not be added.
  1280.  
  1281. NOTE: When adding a Cyclic event, you're asked to enter dates using numbers
  1282. for the year, month, and day. By default, Cal is set up to use USA style dates
  1283. - this means you need to enter the month, then the day, then the year. However,
  1284. if you have selected the 'Euro Dates' option in Preferences, Cal will expect
  1285. you to enter the day first, then the month and year. Remember to enter the
  1286. month and day in the correct order!
  1287.  
  1288. ANOTHER NOTE: There's one editing shortcut that may come in handy. If you are
  1289. editing a date event, you can type a year into the Year field to create a
  1290. one-time date event.  Since you'll usually want to insert the current year, you
  1291. can simply click the word "Year:" on the Date edit screen (or press Alt-Y);
  1292. doing so will insert the current year in this field, and move the cursor to the
  1293. field as well.
  1294.  
  1295.  
  1296. 2.9.7. Erasing Events
  1297.  
  1298. An event can be erased by clicking the button marked Erase on the bottom of
  1299. the screen. Simple enough, eh?
  1300.  
  1301. WARNING: BEFORE you click the Erase button, be SURE you're pointing to the
  1302. right event! Cal remembers the last event displayed on the screen. If you
  1303. change the month buttons or other scheduling fields, be sure to click the Next
  1304. Event button _before_ you click Erase - this will guarantee that Cal is
  1305. pointing to the right event. If you're not careful, you'll erase something you
  1306. don't want to lose!
  1307.  
  1308.  
  1309. ====================================================
  1310.  
  1311.  
  1312. 3. Calshow
  1313.  
  1314. Calshow was designed primarily as an AUTO program to remind you of upcoming
  1315. events whenever you boot your Atari. You can also run Calshow as a normal GEM
  1316. program or desk accessory to see a list of upcoming events at any time, or to
  1317. write several types of reports to a printer or disk file. This version of
  1318. Calshow has been completely rewritten to be more efficient, and all its
  1319. functions are now available from a single dialog.
  1320.  
  1321. Basically, Calshow finds your copy of Cal, reads its event database, and
  1322. displays on screen any events that will occur within a short period of time.
  1323. The display can include the number of days until the event, the date on which
  1324. the event falls, the alarm time, and the message you entered for the event.
  1325.  
  1326.  
  1327.  
  1328. 3.1. Running from the AUTO Folder
  1329.  
  1330. The easiest way to run Calshow is directly from your AUTO folder. When you do
  1331. so, it provides you with a list of upcoming events whenever you boot your
  1332. Atari.
  1333.  
  1334. When you run Calshow, the first thing it does is look for your copy of Cal.
  1335. There's a way to tell Calshow exactly where you keep Cal- that's explained in
  1336. the section below on running as a program. But even if you haven't told Calshow
  1337. where to find Cal, chances are Calshow can find it!
  1338.  
  1339. Calshow first looks for Cal wherever you told it to look. If it can't find
  1340. the file, or if the file turns out not to be Cal, Calshow looks at all the
  1341. other files in that folder whose names match the pattern "CAL*.AC?". If none of
  1342. those are Cal, Calshow checks all "CAL*.PR?" files.
  1343.  
  1344. If none of the files checked turn out to be Cal, Calshow takes more drastic
  1345. measures. It checks _seven more folders_ looking for any file with the name you
  1346. specified, or whose name matches one of the patterns above. First, Calshow
  1347. looks in the folder from which it was run. Then it looks in the root directory
  1348. of the same disk. If that doesn't work, Calshow keeps on looking in these
  1349. folders: \ACCS\, \MULTDESK.MDX\, \MULT_MDX\, \DESK\, \DESKACCS\, and \ACC\. If
  1350. Calshow still can't find Cal, it gives up (and shame on you for hiding it! :-).
  1351.  
  1352. NOTE: If one of the files Calshow examines _is_ Cal but doesn't have any
  1353. events in its database, Calshow ignores it and continues looking.
  1354.  
  1355.  
  1356. After Calshow finds Cal, it reads in the event database and displays a list
  1357. of upcoming events. Calshow displays an entry for every event whose advance
  1358. notice period is close enough to today's date. (Normally Calshow will display
  1359. up to one screen's worth of upcoming events, but you can change this setting;
  1360. see the section below on running Calshow as a program.) The entry includes the
  1361. number of days before the event, the date on which the event falls, and the
  1362. message you defined for the event.
  1363.  
  1364. As distributed, Calshow will display any event, no matter what its importance
  1365. level. This setting can be changed as well; again, see below for more
  1366. information.
  1367.  
  1368.  
  1369. Once Calshow has displayed the list of upcoming events, it pauses for a
  1370. moment so you can read the list. The normal wait period is 15 seconds (but this
  1371. setting too can be changed to suit you). After this amount of time has passed,
  1372. Calshow finishes running and your bootup process continues. You can press any
  1373. key to make Calshow quit before time has expired, or press the HELP key to make
  1374. Calshow wait for a keypress before continuing.
  1375.  
  1376. NOTE: If Calshow can't find a valid copy of Cal, or there are no events
  1377. happening soon enough to display, Calshow will display a message on the screen
  1378. and pause for _one second only_. This means your bootup won't be delayed
  1379. unless there's a good reason.
  1380.  
  1381. Versions 6.1 and later have a feature that lets you tell Calshow to display
  1382. events only on the first boot of each day (see Preferences below). If you
  1383. reboot your ST and wish to see the display anyway, hold down the Alternate key
  1384. as Calshow loads. If you want to skip Calshow's display for some reason, hold
  1385. down the Control key instead.
  1386.  
  1387.  
  1388. IMPORTANT NOTE: Calshow uses your GEMDOS clock to determine the current
  1389. date. If you have an external clock chip but you can't get Calshow to display
  1390. the correct date when you run it from the AUTO folder, it may be that your
  1391. clock program is only setting the keyboard clock. You can correct this by
  1392. running a program such as CLOCKSET.PRG (freeware from Little Green Footballs
  1393. and Charles F. Johnson) before Calshow runs. This program reads the keyboard
  1394. clock and sets the GEMDOS clock, so the date will be correct.
  1395.  
  1396.  
  1397.  
  1398. 3.2. Running as a PRG or ACC
  1399.  
  1400. Calshow provides you with MUCH more control over its output when you run it
  1401. as a program or desk accessory. In addition, you can configure a number of
  1402. settings, such as those mentioned above, to tailor Calshow's behaviour. You can
  1403. save these settings in the Calshow file so they will be active the next time
  1404. you run Calshow at boot time.
  1405.  
  1406.  
  1407. 3.2.1. Calshow Prefs
  1408.  
  1409. The top section of the Calshow dialog allows you to set up your options.
  1410. First you see a box labelled "Show __ Events": this box lets you set the
  1411. MAXIMUM number of events Calshow will display. You can type in a specific
  1412. number of lines, or leave the value as zero. If you say zero, Calshow will try
  1413. to determine the size of your Atari's screen and display only the number of
  1414. events that will fit.
  1415.  
  1416. IMPORTANT NOTE: Calshow may not display this number of events every time...
  1417. it depends on the days notice you defined for each event! Remember, this is the
  1418. MAXIMUM!
  1419.  
  1420. Next is a field that says "Pause ___ Seconds". This field controls the length
  1421. of the pause after Calshow has displayed its event list. Type in any number
  1422. from zero to 999 seconds here.
  1423.  
  1424. IMPORTANT NOTE: IF YOU SET THIS FIELD TO ZERO, CALSHOW WILL WAIT FOREVER FOR
  1425. YOU TO PRESS A KEY! Keep this in mind when you're deciding on a value to enter
  1426. here.
  1427.  
  1428. Beneath these two fields are a pair of buttons marked Once and Euro. If you
  1429. select the Once button, then Calshow will only display upcoming events on the
  1430. first bootup of each day; if you reboot later in the day, you must hold down
  1431. the Alternate key when Calshow loads if you wish to view the display.
  1432.  
  1433. NOTE: Calshow uses the date stamp on the Calshow program file to determine
  1434. if each bootup is the first for the day. You must not write-protect Calshow if
  1435. you want to take advantage of this feature.
  1436.  
  1437. The Euro button tells Calshow to expect European-style dates (day, month,
  1438. year) instead of USA-style dates (month, day, year) for the start and end
  1439. dates entered below.
  1440.  
  1441. The next button is marked "Locate Cal". This is the way to tell Calshow
  1442. exactly where your copy of Cal is located. Click on the button and use the item
  1443. selector to find your Cal program file.
  1444.  
  1445. IMPORTANT NOTE: Cal doesn't actually have to be in the folder you locate!
  1446. Calshow will store the path and filename you select, even if the file isn't Cal
  1447. or doesn't even exist. This means you can configure Calshow first, then move a
  1448. copy of Cal into the right place later. You'll see an alert that warns you of
  1449. any error, but the information will be stored in memory anyway.
  1450.  
  1451. The next button in this part of the dialog is marked Save Setup. Click this
  1452. button, then use the item selector to locate Calshow; all the settings in the
  1453. top section of the dialog will be saved in the program file, and will be in
  1454. effect the next time you run Calshow.
  1455.  
  1456. Beneath these two buttons is a group of ten buttons marked 0-9. These buttons
  1457. tell Calshow which importance levels to show. If the button corresponding to an
  1458. event's importance level is NOT selected, that event WON'T be shown in
  1459. Calshow's display.
  1460.  
  1461.  
  1462. 3.2.2. This Run Only
  1463.  
  1464. The lower section of the Calshow dialog lets you decide what sort of display
  1465. you want. You'll see two groups of radio buttons, and a space to enter two
  1466. dates. None of the information on this half of the dialog is saved; it only
  1467. pertains to this particular run.
  1468.  
  1469. The first group of buttons allows you to choose one of three styles of
  1470. output. Select the button for the type of output you desire. The first type,
  1471. Coming Events, produces a report on events that will occur in the near future.
  1472. Each line of this report will contain the number of days before the event (in
  1473. bold print), the date and time of the event, and the message (underlined). If
  1474. the event has more than one line of text, each line will be displayed.
  1475.  
  1476. The second type, Datebook, will produce a datebook-like list with one entry
  1477. for every day in the time period you specify. The starting month and year are
  1478. listed on one line. Under this, another line lists the date and day of the
  1479. week. Then, if there are any events scheduled for that day, the event messages
  1480. are listed on a separate line, preceded by the event's alarm time. This type of
  1481. list is most useful when you specify a time period of a week or month; you may
  1482. want to use the Datebook output as a to-do list.
  1483.  
  1484. The last option allows you to produce a Master List of all the events you've
  1485. stored in Cal's database. If you choose this type of output, any starting or
  1486. ending date you've entered is ignored; every event in Cal is listed, one event
  1487. per line (with extra lines if the event uses more than one line for its
  1488. message). Each entry contains the event number, letters to indicate the months
  1489. in which the event occurs, the date or position on which the event falls, the
  1490. alarm time and number of days advance notice you've set, the event's
  1491. importance, and the event message. For a cyclic event, the entry shows the
  1492. number of days between occurrences and the date of the first occurrence. You
  1493. have the option of listing all events or only those matching the importance
  1494. levels you've selected.
  1495.  
  1496. The second group of radio buttons lets you choose where to send Calshow's
  1497. output. The three buttons are marked Video, Printer, and File. Simply select
  1498. the button corresponding to the type of output you want - on screen, printed
  1499. hardcopy, or a disk file.
  1500.  
  1501. NOTE: The video display on screen only supports the Coming Events listing.
  1502. That shouldn't be a problem, since the other report styles are of limited
  1503. usefulness on screen. When you direct output to a printer or disk file, you may
  1504. choose any of the three reports.
  1505.  
  1506.  
  1507. Underneath these setup items are boxes where you can enter a specific start
  1508. or end date for Calshow's display. These dates are only valid when running
  1509. Calshow as a program or accessory; at boot time, Calshow will always show you
  1510. a display of upcoming events according to the date set in your ST's clock.
  1511.  
  1512. NOTE: If your ST doesn't have a built-in clock, then you probably have an
  1513. AUTO program to set the time from a separate clock chip, your hard disk, or
  1514. some other method. Be sure this program runs BEFORE Calshow when you boot, or
  1515. the events you see won't be the ones you want to see!
  1516.  
  1517. When you enter a new starting date, Calshow pretends that that date is the
  1518. current date. You don't need to enter a complete date here; if you just want to
  1519. see a list of events for the first part of May, simply enter the number "5" in
  1520. the month field. When you enter a year, any two-digit number is assumed to be
  1521. in the 1900s and any one-digit number is treated as if it's in the 2000s. Thus,
  1522. a year of "93" would be 1993 and a year of "1" would mean 2001.
  1523.  
  1524. You can enter a new ending date in the same fashion. Of course, Calshow will
  1525. warn you if you try ending the display before it starts.
  1526.  
  1527. IMPORTANT NOTE: If you enter an ending date, CALSHOW WILL IGNORE THE DAYS
  1528. ADVANCE NOTICE SPECIFIED FOR EACH EVENT. When you tell Calshow the end date you
  1529. want, it assumes that you want a complete list of events up to that date
  1530. regardless of the advance notice. Calshow will keep showing events until this
  1531. end date is reached OR the maximum number of events has been shown. (Remember,
  1532. you set up the maximum in the "at most" field above.)
  1533.  
  1534.  
  1535.  
  1536. Four buttons appear at the bottom of Calshow's dialog. The one on the left,
  1537. Exit, allows you to exit Calshow. The one on the right is marked "Go!". When
  1538. you click this button or hit Return, Calshow will format the report you
  1539. selected. If you asked for output to a printer or disk file, Calshow closes its
  1540. window while the list is being prepared. When the operation has completed,
  1541. you'll return to the desktop.
  1542.  
  1543.  
  1544. Calshow 6.2 adds two new 'quick-view' buttons, "Week" and "Today". These
  1545. buttons let you instantly select a video display of coming events for the day
  1546. or for the next week. Unlike the standard Calshow display, the advance notice
  1547. for your events is ignored so you get a full picture of upcoming events.
  1548.  
  1549.  
  1550. When you've chosen Video output, you'll see a GEM window appear. The
  1551. information line under the title bar tells you the starting date for Calshow's
  1552. list of events. The rest of the window displays upcoming events according to
  1553. the options you specified above. First the number of days before the event is
  1554. shown in bold letters, then the day of the week and the date appear in italics.
  1555. The alarm time for an event will appear in normal type, or a dashed line if the
  1556. event has no alarm. The rest of the line is underlined, and contains the
  1557. message for the event.
  1558.  
  1559. At the bottom of the screen, you'll see one of two messages. If the entire
  1560. list of events fits on a single screen, Calshow will display the message "press
  1561. any key to continue". You can press a key to exit Calshow, or simply wait for
  1562. the pause time you entered above to expire. When this happens, you'll return to
  1563. the desktop.
  1564.  
  1565. If there are more events to display than will fit on a single screen, Calshow
  1566. displays the message "press a key to go on or UNDO to quit". If you press the
  1567. UNDO key, Calshow will exit to the desktop. If you press any other key, or wait
  1568. for the pause time to run out, Calshow will clear the screen and display a
  1569. second group of events. This process continues until all events waiting to be
  1570. shown have been displayed.
  1571.  
  1572. You can press the HELP key at any time. When you do so, Calshow will wait for
  1573. you to press any key (including Help) before it continues.
  1574.  
  1575.  
  1576. Once Calshow has completed a display, you return to the Calshow dialog. You
  1577. can choose to see another Calshow display, or you can exit the program by
  1578. clicking the eXit button or pressing UNDO.
  1579.  
  1580.  
  1581. ====================================================
  1582.  
  1583.  
  1584. 4. Final Notes, Version History
  1585.  
  1586.  
  1587. Cal and Calshow were written completely in assembly language using the HiSoft
  1588. DevpacST assembler. The resources were created with WERCS and converted to
  1589. assembly code using a program written by Carl Barron. Thanks to Robert
  1590. Birmingham for convincing me to add events to my simple calendar program, and
  1591. to Myles Cohen, Colin Robertson, and many others for some great suggestions!
  1592. Many thanks also to the CodeHeads for telling me how to hook into HotWire and
  1593. to the Double Click folks for help getting these programs working with
  1594. DC-Squish. Special thanks are due Charles F. Johnson for hints on letting a
  1595. program figure out if it's an ACC or AUTO program.
  1596.  
  1597. And, of course, many thanks and best wishes to the folks who've sent cards
  1598. and letters (and donations) -- people like you keep shareware authors writing!
  1599.  
  1600. The calendar routine I use in Cal was based on Zeller's Congruence, which
  1601. explains a simple way to calculate the day of the week for a given date without
  1602. resorting to a lookup table. Articles dealing with this subject appeared in
  1603. Computer Language Magazine, March and December 1988. (The articles were
  1604. helpful, although they included a couple of typographical errors. :-) Also note
  1605. that the modern Gregorian calendar wasn't invented until the 1580s, something
  1606. to keep in mind if you're poking around in the dim and distant past <grin>.
  1607.  
  1608. Please let me know if you use this program!!! Comments, suggestions,
  1609. requests, and bug reports are all welcome. Remember: if you find a bug but you
  1610. don't let me know about it, chances are I won't fix it. :-)
  1611.  
  1612. This program is distributed as shareware - try Cal out for awhile, and if you
  1613. decide to keep it, send a donation to me at the address below. For every
  1614. donation of $25 or more, I'll send a disk containing the latest versions of all
  1615. my programs (Cal, the Whatis File Identifier, KXPset Printer Setup Utility).
  1616. But even if you don't want to contribute right now, please send a postcard!
  1617.  
  1618.  
  1619.       Bill Aycock
  1620.       2310 North Elm Street
  1621.       Greensboro, NC 27408-5120
  1622.  
  1623.       Compuserve ID: 76703,4061
  1624.       Internet: 76703.4061@compuserve.com
  1625.       February 15, 1992
  1626.  
  1627. PS- The latest version of Cal is always available in Compuserve's Atari
  1628.     Productivity Forum (GO ATARIPRO at any ! prompt). Since I'm on the
  1629.     Forum's staff, I always upload there first. For fastest response to
  1630.     inquiries, post a message to me in ATARIPRO.
  1631.  
  1632. PPS- If you somehow lose my address, just press the Help key from Cal's main
  1633.      screen. :-)
  1634.  
  1635. ================
  1636. Version History:
  1637. ================
  1638.  
  1639. v6.2: Cal: more displays of alarm time; more Scan options; When dialog to show
  1640.       cyclic event dates; more date calculations; ability to move dialog on
  1641.       screen; Calshow: alarm time displayed, events sorted by alarm time; new
  1642.       Week and Today buttons; return to menu instead of exit
  1643. v6.11 both: corrected keyboard shortcuts and mouse handling in ACC mode
  1644. v6.1: Cal: adds ability to communicate with other Cal ACCs; Calshow: allows
  1645.       European date format, once-per-day bootup display
  1646. v6.02 Cal: fixed 'invisible' level-0 events, edit logic change; Calshow: fixed
  1647.       max display lines, problem when cancelling a locate-Cal process
  1648. v6.01 allowed shifted command keys; in Cal: corrected Cancel key in Mass
  1649.       Erase, added default importance level, honors alarms-disable button,
  1650.       extended cyclic period to up to 255 days; fixed Calshow to save
  1651.       importance filter, allowed Master List to pay attention to importance
  1652.       filters
  1653. v6.0: complete rewrite: added cyclic events, file load/save, importance
  1654.       levels, keyboard shortcuts, many many more changes!
  1655. v5.3: fixed Cal & Calshow to work if system date is not valid
  1656. v5.2: added extended data area; fixed Calshow to recognize any 5.x version
  1657. v5.1: Cal: added alert when no room remains to add an event
  1658. v5.0: Cal: added compatibility with DC-Squish; three importance levels; one
  1659.       event can occur in multiple months; specify advance notice separately
  1660.       for each event; Hotwire alarm feature; bug fixes, optimizations, etc.
  1661.       Calshow: completely rewritten to run as a GEM program or ACC or from
  1662.       AUTO folder; DC-Squish compatible; new Datebook and Dump output
  1663.       options; importance filter for event displays; lots more stuff
  1664. v4.7: added support for significant/non-significant events
  1665. v4.5: added multiple positional events; when saving setup, file selector now
  1666.       defaults to path Cal loaded from; allow more events on single day; added
  1667.       code to help guard against unusual March start date problem
  1668. v4.4: added option to supress add/replace/erase event alerts; added case
  1669.       sensitive search; retains search string between searches
  1670. v4.3: fixed a logic bug occurring when exiting Cal in some circumstances;
  1671.       added keyboard exit from Browse screen
  1672. v4.2: added Replace button in Edit; added option to ignore expired events;
  1673.       added type filters to Find function; changed Browse logic
  1674. v4.1: added grow/shrink box support; added leap-year check for one-time
  1675.       events on Feb 29; skip saving duplicate events; sundry other tweaks
  1676. v4.0: added multiple events on the same date; added alphabetic sort; added
  1677.       one-time events and expired-event handling; various other tweaks
  1678. v3.5: fixed filepath setup for standard GEM file selector problem
  1679. v3.4: fixed logic error in Calshow; enabled 'last' week position button
  1680. v3.3: fixed obscure bug in Find function; redesigned Browse screen and Today
  1681.       button logic; added Prev and Next month buttons; added option to save
  1682.       changed setup when exiting
  1683. v3.2: fixed occasional bus errors after erasing events and then browsing;
  1684.       included Calshow for bootup reminders
  1685. v3.1: first released version supporting events
  1686. v2.0: final calendar-only version
  1687.  
  1688. ====================================================
  1689.  
  1690. 5. Keyboard Shortcuts
  1691.  
  1692. 5.1. Main Calendar
  1693.  
  1694.       UNDO                 Exit
  1695.       HELP, Space bar      credits, statistics
  1696.       numbers 1-0, -, =    month buttons
  1697.       keypad 1-9, (, ), /  month buttons
  1698.       Clr/Home             January
  1699.       shift Clr/Home       December
  1700.       R arrow              next month
  1701.       L arrow              previous month
  1702.       Up arrow             forward one year
  1703.       shift Up arrow       forward ten years
  1704.       Down arrow           back one year
  1705.       shift Down arrow     back ten years
  1706.       Y                    Year dialog
  1707.       F1, /, ?             extras dialog
  1708.       F2, T                Today
  1709.       F3, P                Preferences dialog
  1710.       F4, F                File dialog
  1711.       F5, S                Scan dialog
  1712.  
  1713.  
  1714. 5.2. Alert Dialog
  1715.  
  1716.       UNDO                 Exit
  1717.       numbers 1-8          select event 1-8
  1718.       keypad 1-8           select event 1-8
  1719.       F1, N, space bar     Next page
  1720.  
  1721.  
  1722. 5.3. Edit Dialog
  1723.  
  1724.       UNDO                 Exit
  1725.       Alt-M                toggle Mode
  1726.       Alt-N                Next event
  1727.       Alt-W                When dialog (cyclic events)
  1728.       Alt-Y                this Year (date events)
  1729.       F1, Alt-F            Find dialog
  1730.       F2, Alt-E            Erase event
  1731.       F3, Alt-R            Replace event
  1732.       F4, Alt-A            Add event
  1733.  
  1734.  
  1735. 5.4. Expired Event Dialog
  1736.  
  1737.       UNDO                 Exit
  1738.       F1, C                Convert event
  1739.       F2, E                Erase event
  1740.       F3, I, space bar     Ignore event
  1741.  
  1742.  
  1743. 5.5. Extras Dialog
  1744.  
  1745.       UNDO                 Exit
  1746.       F1, C                Calculate
  1747.       D, ^ R arrow         Day/month/year order
  1748.       M, ^ L arrow         Month/day/year order
  1749.  
  1750.  
  1751. 5.6. File Dialog
  1752.  
  1753.       UNDO                 Exit
  1754.       F1, Alt-L            Load from file
  1755.       F2, Alt-S            Save to file
  1756.       F3, ^ R              Rescan for acc
  1757.       F4, ^ L              Load from acc
  1758.       F5, ^ S              Save to acc
  1759.       F6, Alt-M            Merge from file
  1760.       F7, Alt-E            mass Erase dialog
  1761.       F8, Alt-A            set Alarms
  1762.       F9, Alt-X            check eXpired events
  1763.  
  1764.  
  1765. 5.7. Find Dialog
  1766.  
  1767.       UNDO                 Exit
  1768.       ^ L arrow            case sensitive
  1769.       ^ R arrow            not case sensitive
  1770.       Alt-A                Alarm events
  1771.       Alt-C                Cyclic events
  1772.       Alt-D                Date events
  1773.       Alt-E                Expired events
  1774.       Alt-O                One-time events
  1775.       Alt-P                Positional events
  1776.       ^ space bar          clear importance flags
  1777.       F1                   reset event flags
  1778.       F2                   select events
  1779.  
  1780.  
  1781. 5.8. Mass Erase Dialog
  1782.  
  1783.       UNDO                 Exit
  1784.       numbers 1-0, -, =    month buttons
  1785.       keypad 1-9, (, ), /  month buttons
  1786.       A                    erase All events
  1787.       F1, E                Erase events
  1788.  
  1789.  
  1790. 5.9. Preferences Dialog
  1791.  
  1792.       UNDO                 Exit
  1793.       F1                   accept changes
  1794.  
  1795.  
  1796. 5.10. Scan Dialog
  1797.  
  1798.       UNDO                 Exit
  1799.       HELP                 scan options alert
  1800.       numbers 1-0, -, =    first event in that month
  1801.       keypad 1-8           select event 1-8
  1802.       ^ 1-8                hide event 1-8
  1803.       Clr/Home             first event
  1804.       shift Clr/Home       last event
  1805.       L arrow              back one event
  1806.       R arrow              forward one event
  1807.       Up arrow             back one page
  1808.       Down arrow           forward one page
  1809.       F1, R                Reset event flags
  1810.       F2, F                Find dialog
  1811.       F3, P                Previous page
  1812.       F4, N                Next page
  1813.  
  1814.  
  1815. 5.11. When Dialog
  1816.  
  1817.       UNDO                          Exit
  1818.       P, L arrow, U arrow, F1       Past
  1819.       F, R arrow, D arrow, F2       Future
  1820.       1-0                           go to date 1-10
  1821.  
  1822.  
  1823. 5.12. Calshow Dialog
  1824.  
  1825.       UNDO                 Exit
  1826.       HELP                 wait for keypress
  1827.       C                    Coming events report
  1828.       E                    European date format
  1829.       F                    File output
  1830.       G                    Go!
  1831.       L                    Locate Cal
  1832.       D                    Datebook report
  1833.       M                    Master list report
  1834.       O                    Once per day boot display
  1835.       P                    Printed output
  1836.       S                    Save setup
  1837.       T                    Today quick-view
  1838.       V                    Video (screen) output
  1839.       W                    Week quick-view
  1840.  
  1841.  
  1842. Cal 6.2a update:
  1843.  
  1844. In version 6.2, if Cal was running as a resident accessory, and the user
  1845. selected the Location button in Prefs to use the saved location, and the
  1846. user moved Cal from its centered position, then the window behind Cal
  1847. would appear at progressively larger offsets each time the accessory was
  1848. opened. This update corrects the problem.
  1849.  
  1850. Calshow 6.2a update:
  1851.  
  1852. This update adds one feature. Once you have selected a group of
  1853. importance filter buttons, you may click the small "Importance Filters"
  1854. text to toggle the state of the buttons. If you double-click the text, all
  1855. importance levels will be selected. This feature should make it easier to
  1856. select a desired group of importance filters.
  1857.  
  1858.  
  1859. Bill Aycock
  1860. 19 February, 1992
  1861.